implement fexecve
[musl] / src / process / fexecve.c
diff --git a/src/process/fexecve.c b/src/process/fexecve.c
new file mode 100644 (file)
index 0000000..3098645
--- /dev/null
@@ -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);
+}