簡體   English   中英

C-嘗試將/ bin / ls傳遞給execvp時出錯

[英]C - error when attempting to pass /bin/ls to execvp

我正在開發一個C程序,該程序需要能夠使用execvp執行某些命令,並且已通過以下方式實現了這一點:

execvp(arguments[0], arguments);

其中arguments[]是字符串數組。 在大多數情況下,我的實現工作正常-例如,如果arguments{"touch", "somefile.txt"}預期方式調用touch命令。

但是,當我嘗試使用諸如{"/bin/ls", "-a", "."}類的參數將ls傳遞給execvp時,ls函數將按預期方式打印目錄列表,但還會打印錯誤

ls: cannot access GLIBC_2.0: No such file or directory

我不知道如何解決此警告,谷歌搜索什么也沒有。 任何想法有什么問題嗎?

execvp的手冊頁顯示:

execv()execvp()函數提供了一個指向以空字符結尾的字符串的指針的數組,這些字符串表示新程序可用的參數列表。 按照慣例,第一個參數應指向與正在執行的文件關聯的文件名。 指針數組必須以NULL指針終止。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM