blob: 5d9d824f72b3cb328079b3a09e8ad4afdcfe5c79 [file] [log] [blame]
#include <stdarg.h>
#include <unistd.h>
int execle(const char* path, const char* argv0, ...) {
int argc;
va_list ap;
va_start(ap, argv0);
for (argc = 1; va_arg(ap, const char*); argc++)
;
va_end(ap);
{
int i;
char* argv[argc + 1];
char** envp;
va_start(ap, argv0);
argv[0] = (char*)argv0;
for (i = 1; i <= argc; i++)
argv[i] = va_arg(ap, char*);
envp = va_arg(ap, char**);
va_end(ap);
return execve(path, argv, envp);
}
}