Nul*_*oet 4 c function variadic-functions argument-passing
如何execlp()使用可变数量的参数调用不同的进程?
如果您在编写代码时不知道需要多少个参数,则需要使用execvp(),而不是execlp():
char **args = malloc((argcount + 1) * sizeof(char *));
args[0] = prog_name;
args[1] = arg1;
...
args[argcount] = NULL;
execvp(args[0], args);
Run Code Online (Sandbox Code Playgroud)