implement fexecve

This commit is contained in:
Rich Felker 2011-02-27 02:59:23 -05:00
parent 015d33c507
commit f2374ed852
2 changed files with 11 additions and 0 deletions

View File

@ -86,6 +86,7 @@ int execle(const char *, ...);
int execl(const char *, ...); int execl(const char *, ...);
int execvp(const char *, char *const []); int execvp(const char *, char *const []);
int execlp(const char *, ...); int execlp(const char *, ...);
int fexecve(int, char *const [], char *const []);
void _exit(int); void _exit(int);
pid_t getpid(void); pid_t getpid(void);

10
src/process/fexecve.c Normal file
View File

@ -0,0 +1,10 @@
#include <unistd.h>
#include <stdio.h>
int fexecve(int fd, char *const argv[], char *const envp[])
{
static const char proc[] = "/proc/self/fd/%d";
char buf[sizeof proc + 3*sizeof(int)];
snprintf(buf, sizeof buf, proc, fd);
return execve(buf, argv, envp);
}