Przekierowanie wewnątrz wywołania execvp () nie działa

Implementowałem mały program, który wykonuje daną komendę za pomocą execvp (). Działa dobrze, gdy nie używa przekierowania, ale gdy uruchomię polecenie, takie jak:

cat file1.txt > redirected.txt

cat wyświetla następujące komunikaty o błędach i kończy się niepowodzeniem:

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

Zrobiłem trochę kopania i zaczynam myśleć, że być może execvp () nie może wykonywać przekierowań, ponieważ nie działa w powłoce. Czy to oznacza, że ​​musiałbym ręcznie wybrać, kiedy nastąpi przekierowanie i użyć potoków w moim kodzie fork / exec, aby obejść to ograniczenie? Czy jest lepszy sposób niż użycie execvp ()?

Dzięki!

questionAnswers(3)

yourAnswerToTheQuestion