Die Umleitung innerhalb des Aufrufs von execvp () funktioniert nicht

Ich habe ein kleines Programm implementiert, das einen bestimmten Befehl mit execvp () ausführt. Es funktioniert einwandfrei, wenn keine Umleitung verwendet wird, aber wenn ich einen Befehl wie den folgenden ausführe:

cat file1.txt > redirected.txt

cat gibt die folgenden Fehlermeldungen aus und schlägt fehl:

cat: >: No such file or directory
cat: redirected.txt: No such file or directory

Ich habe ein bisschen herumgebuddelt und denke, dass execvp () möglicherweise keine Umleitung ausführen darf, weil es nicht in der Shell ausgeführt wird. Bedeutet das, dass ich manuell herausfinden müsste, wenn eine Umleitung auftritt, und Pipes in meinem Fork / Exec-Code verwenden müsste, um diese Einschränkung zu umgehen? Gibt es eine bessere Möglichkeit, als execvp () zu verwenden?

Vielen Dank!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage