我试图接受用户输入并将其作为文件名传递给execve()
。绕过const char * execve()的要求
我使用malloc()
为char* filename
分配足够的内存,然后将其填充到要执行的文件的路径。
execve()
但是,需要一个const char*
,所以它不会编译。有什么办法可以绕过这个吗?我见过有些人使用execve()
作为shell,所以我认为可以将它传递给用户定义的char数组。
我无法使用execvp()
或任何自动搜索PATH的其他变体。
谢谢!
我想通了,这是一个非常愚蠢的错误。在第二个参数中,我放了'arg [0]'而不是'arg'。我投票删除这篇文章,因为它可能不会帮助其他人。 – Hal 2014-10-19 20:51:53