github.com/afumu/libc@v0.0.6/musl/src/process/execlp.c (about)

     1  #include <unistd.h>
     2  #include <stdarg.h>
     3  
     4  int execlp(const char *file, 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  		va_start(ap, argv0);
    15  		argv[0] = (char *)argv0;
    16  		for (i=1; i<argc; i++)
    17  			argv[i] = va_arg(ap, char *);
    18  		argv[i] = NULL;
    19  		va_end(ap);
    20  		return execvp(file, argv);
    21  	}
    22  }