1#include <unistd.h>
2#include <errno.h>
3
4void __procfdname(char *, unsigned);
5
6int fexecve(int fd, char *const argv[], char *const envp[])
7{
8	char buf[15 + 3*sizeof(int)];
9	__procfdname(buf, fd);
10	execve(buf, argv, envp);
11	if (errno == ENOENT) errno = EBADF;
12	return -1;
13}
14