C でサブシェルを実装しようとしています。既に次のような通常のシェルがあります。
int status;
pid = fork();
if (pid < 0) {
exit(1);
}
else if (pid == 0) {
if (execvp(node->command.program, node->command.argv) < 0) {
exit(1);
}
}
else {
waitpid(pid, &status, 0);
}
サブシェルがどのように機能するか、および上記のコードとどのように異なるかを理解しようとしています。
前もって感謝します。