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}
24