int execlp(const char *pathP, const char *arg0, ...) { va_list ptr; const char *arg[32]; const char **p = arg; va_start(ptr, arg0); *p++ = arg0; while (p != &arg[32]) { *p = va_arg(ptr, const char *); if (*p++ == NULL) { va_end(ptr); return execve(_findPath(pathP), (void *) arg, (void *) environ); } } va_end(ptr); errno = E2BIG; return -1; }
int execlp(const char *pathP, const char *arg0, ...) { return execve(_findPath(pathP), &arg0, environ); }
int execvp(const char *pathP, char *const argv[]) { return execve(_findPath(pathP), argv, (void *)environ); }