#include #include int execl(char *prog, ...) { int i; va_list arg; char **argv; va_start(arg, prog); for(i=0; va_arg(arg, char*) != nil; i++) ; va_end(arg); argv = malloc((i+1)*sizeof(char*)); if(argv == nil) return -1; va_start(arg, prog); for(i=0; (argv[i] = va_arg(arg, char*)) != nil; i++) ; va_end(arg); exec(prog, argv); free(argv); return -1; }