ビルド環境:Visual C++ 2010 Express
TCHAR cmdline[] = _T("cmd.exe /k cd c:\\ && dir > out.txt && exit");
CreateProcess(NULL, cmdline, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
1.コマンドプロンプトの起動
2.Cドライブに移動
3.DIRの実行し、結果をリダイレクト
4.終了

上の例のように命令を連結すれば目的を果たせるのですが、1〜4を分けて実行したい場合、どのようにすればよいでしょうか
※Cの標準ライブラリのみ若しくは、Win32APIを使用して実装したいと考えています