Blob
1 #include <u.h>2 #include <libc.h>4 int5 execl(char *prog, ...)6 {7 int i;8 va_list arg;9 char **argv;11 va_start(arg, prog);12 for(i=0; va_arg(arg, char*) != nil; i++)13 ;14 va_end(arg);16 argv = malloc((i+1)*sizeof(char*));17 if(argv == nil)18 return -1;20 va_start(arg, prog);21 for(i=0; (argv[i] = va_arg(arg, char*)) != nil; i++)22 ;23 va_end(arg);25 exec(prog, argv);26 free(argv);27 return -1;28 }