1 #include <unistd.h>
2 #include <stdarg.h>
3 
execle(const char * path,const char * argv0,...)4 int execle(const char *path, const char *argv0, ...)
5 {
6 	int argc;
7 	va_list ap;
8 	va_start(ap, argv0);
9 	for (argc=1; va_arg(ap, const char *); argc++);
10 	va_end(ap);
11 	{
12 		int i;
13 		char *argv[argc+1];
14 		char **envp;
15 		va_start(ap, argv0);
16 		argv[0] = (char *)argv0;
17 		for (i=1; i<=argc; i++)
18 			argv[i] = va_arg(ap, char *);
19 		envp = va_arg(ap, char **);
20 		va_end(ap);
21 		return execve(path, argv, envp);
22 	}
23 }
24