Problem mit Systemcall in C
-
Hallo,
hab folgendes Problem in C, ich muss ein Programm schreiben das einen Befehl einliest und ihn dann Ausführt(eine "Fake-Shell" sozusagen).
Das ist soweit auch kein Problem, schwieriger wirds dann wenn Befehle wie
"cat dateiname" fehlerfrei ausgeführt werden sollen. Hat jemand eine Idee wie man das Problem lösen könnte??
-
-
Hab ich schon probiert funktioniert leider nicht.
Mit execvp() kann ich z.B. ls direkt ausführen, gebe ich aber mit execve die environment Variable an muss ich den ganzen Pfad also /bin/ls angeben obwohl ich environment übergeben habe. auch das mit "cat dateiname" funktioniert mit execve nicht
-
lies dir mal die Manpages durch
Bau dir eben eine Funktion um execve, die PATH selbst auswertet, wenn dir exec*p nicht reicht.