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'試圖列出那個。 –