0
我就需要能够使用execvp执行某些命令的C程序的工作,我也有实现这一点:Ç - 错误试图通过时/斌/ LS到execvp
execvp(arguments[0], arguments);
其中arguments[]
是一系列刺痛。大多数情况下,我的实现工作正常 - 例如如果arguments
为{"touch", "somefile.txt"}
,则按预期调用touch
命令。
然而,当我试图传递ls
与参数是像{"/bin/ls", "-a", "."}
到execvp,通过功能LS打印效果与预期的目录列表,但还打印了错误
ls: cannot access GLIBC_2.0: No such file or directory
我不知道如何解决这个警告,谷歌搜索没有任何结果。任何想法有什么不对?
解决了这个问题。但为什么要寻找'GLIBC_2.0'? – DTR
@Dave在'arguments'数组后面有一个指向字符串“GLIBC_2.0”的指针,后面跟着数据部分,因此'ls'试图列出那个。 –