>>315
void parseit 内で、
*params++ = command;
の後のパラメータ分文字を読み飛ばす処理内で、">"の処理をしているのが不味い

a.out > aaa
   ↑
ここでパラメータ分文字を読み飛ばす処理は終了するので、次のパラメータを探す処理に
移ると、次のパラメータは、">"になる

">" の処理もそのままだと、 ファイル名の前後に空白文字が入る可能性がある(問題ないのかもしれないけど)

あと、void parseit 関数の終わりの*params = '\0'; は、 *params = NULL; じゃね