master
 1#include <unistd.h>
 2#include <stdarg.h>
 3
 4int 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}