Index: fusl/src/process/execlp.c |
diff --git a/fusl/src/process/execlp.c b/fusl/src/process/execlp.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5eed886e716fa9721bf953b877df19a89bd5718f |
--- /dev/null |
+++ b/fusl/src/process/execlp.c |
@@ -0,0 +1,22 @@ |
+#include <unistd.h> |
+#include <stdarg.h> |
+ |
+int execlp(const char *file, const char *argv0, ...) |
+{ |
+ int argc; |
+ va_list ap; |
+ va_start(ap, argv0); |
+ for (argc=1; va_arg(ap, const char *); argc++); |
+ va_end(ap); |
+ { |
+ int i; |
+ char *argv[argc+1]; |
+ va_start(ap, argv0); |
+ argv[0] = (char *)argv0; |
+ for (i=1; i<argc; i++) |
+ argv[i] = va_arg(ap, char *); |
+ argv[i] = NULL; |
+ va_end(ap); |
+ return execvp(file, argv); |
+ } |
+} |