Working just from your code fragment, it is difficult to work out what your problem is: the only reference to strcmp you have does not use argv at all - it uses an array of strings you create and fill.
But are you sure you are using it right?
will return 0 if the strings are the same, so
if (!strcmp(argument, "cd"))
will change the directory if the arguement is
I don't think that is quite what you intended...
Use the debugger - step through you code and see what is going on. It's a lot easier and quicker that asking here - particularly if you don't give us the right info!
C true is non-zero, dunno why I got that wrong...- OriginalGriff[/edit]