Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在用 C 编写一个类似控制台的小型程序,以及 ls、tac 和 dir 的实现。
我使用 execvp() 函数来覆盖进程的分叉子进程,但是当用户插入上述 3 个命令之一时,我必须执行我自己的版本,而不是系统中的那个。
我知道 execvp() 使用系统 PATH 变量在不同位置搜索可执行文件。我可以在我的程序中以某种方式编辑 PATH,这样我就可以添加一个自定义目录作为 execvp() 搜索的第一个位置吗?
谢谢!
您可以更改- 但请注意,在PATH执行.setenvexec
PATH
setenv
exec