GUIの様なコマンドライン以外から引数を渡すのはどうしたら良いでしょうか? そのような場合にはexec()系関数を利用します。
「シェルを呼ぶ、呼ばない」という分類は、このexeclp()、execvp()関数がコマンドインタプリタを呼んでから、指定のプログラムファイルを実行する、ということを示している。要するに、execlp()とexecvp()の2つの関数からは「シェルスクリプト」を呼んで実行させることができるが、これ以外の関数からは|実行形式のバイナリファイルしか呼べないということ。
関数名 | シェル | 環境変数 | 引数並び |
execl | 呼ばない | 引き継ぐ | 文字列 |
execlp | 呼ぶ | 引き継ぐ | 文字列 |
execle | 呼ばない | 指定できる | 文字列 |
execv | 呼ばない | 引き継ぐ | 文字列ポインタの配列 |
execvp | 呼ぶ | 引き継ぐ | 文字列ポインタの配列 |