将目录添加到PATH for execvp()

时间:2013-01-09 00:23:38

标签: c unix path terminal execvp

我在C中编写一个类似于控制台的小程序,以及ls,tac和dir的实现。

我使用execvp()函数来覆盖进程的分叉子进程,但是当用户插入上述3个命令之一时,我必须执行自己的版本,而不是系统中的那个。

我知道execvp()使用系统PATH变量在不同位置搜索可执行文件。我可以以某种方式编辑我的程序中的PATH,所以我可以添加一个自定义目录作为execvp()搜索的第一个位置吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用PATH更改setenv - 但请注意,在执行exec之前,只需明确检查这些命令就可能更简单。