このexecve
コマンドに問題があります。それを使用して、プログラムで他のほとんどのコマンドを問題なく実行できますが、man ls
何かをしようとすると、このエラーが発生します。
man: can't execute pager: No such file or directory
man: command exited with status 255: LESS=-ix8RmPm Manual page ls(1) ?ltline %lt?L/%L.:byte %bB?s/%s..?e (END):?pB %pB\%.. (press h for help or q to quit)$PM Manual page ls(1) ?ltline %lt?L/%L.:byte %bB?s/%s..?e (END):?pB %pB\%.. (press h for help or q to quit)$ MAN_PN=ls(1) pager -s
これが私がそれを呼び出す方法です:
execve( cmdPath, args, env );
wherecmdPath
は path です (この場合は/usr/bin/man
)
args
はchar*
whereですargs[0] = man
,args[1] = ls
env
はenv*[]
main から渡されたものです。
どんな助けでも大歓迎です。私はここで死にかけています。