如何将execle与execvpe之类的va_list一起使用?

时间:2013-04-22 15:36:02

标签: c exec

我使用的glibc版本没有execvpe功能。但是,我需要确切的功能,以满足我的目的。用户将传入一个参数列表,这是我们运行的linux命令(带有参数列表)。这是它的样子:

foo.c的

int main(int argc, char *argv[], char *envp[])
{
    char * newenvp[] = ...;
    execvpe(argv[1], &argv[1], newenvp);
}

使用示例

foo echo -e "Hello World.\n"

是否有一种解决方法可以将execvpe替换为execle

1 个答案:

答案 0 :(得分:0)

我相信我已经解决了自己的问题。使用execvpe的解决方法是使用setenv后跟execvp。我相信功能是一样的:

int main(int argc, char *argv[], char *envp[])
{
    setenv("MYVAR", "MYVALUE", 1);
    /* More calls to setenv can be used if needed. */
    execvp(argv[1], &argv[1]);
}