#include #include #include #include int main(int argc, char **argv) { char **execargv = malloc((argc + 2) * sizeof *execargv); for(int i = 1; i < argc; ++i) { char **arg = &execargv[i+ 2]; if(argv[i][0] == '/') { const char *home = "/home/"; if(!memcmp(home, argv[i], strlen(home))){ *arg = argv[i]; goto exec; } const char *gentooPath = "/bedrock/strata/gentoo"; *arg = malloc(strlen(gentooPath) + strlen(argv[i]) + 2); strcpy(*arg, gentooPath); strcat(*arg, argv[i]); printf("Path: %s\n", *arg); } else *arg = argv[i]; } exec: execargv[0] = "strat"; execargv[1] = "arch"; execargv[2] = "/usr/bin/nvim"; execargv[argc + 2] = NULL; execvp(execargv[0], execargv); }