execve()不兼容的argv格式?

时间:2017-09-19 07:42:35

标签: c linux unix exec

我有一个简单的程序,我接受命令并调用execve()来执行命令。我遇到了这个问题

sortedCmd[100][100];
status = execve(sortedCmd[0],sortedCmd, envp);

不起作用(strerror(errno) = No such file or directory),但是,以下代码工作

status = execve(sortedCmd[0],(char *[]){sortedCmd[0], NULL}, envp);

我确保在最后一个参数后面有一个NULL个字符。我想问题是char *[]char[][]。有办法解决这个问题吗?由于程序可以采用多个参数,我不能只对它进行硬编码。请帮帮我,谢谢!

更新:事情是我的道路是正确的,一个语法扭曲将使它工作。

0 个答案:

没有答案