>> については、ファイルを開くときのフラグを [O_WRONLY; O_APPEND; O_CREAT] に変えれば他は > と同じです。
2> については、 dup2 fd stdout を dup2 fd stderr に変えれば他は > と同じです。
2>1 については、コマンドを実行する前に dup2 stderr stdout を実行すればよいです。
<< については、 シェル sh は /tmp フォルダに一時的なファイルを作って << に続く文字列を保存し、標準入力をこのファイルにリダイレクトしてからコマンドを実行する必要があります。これとは別の解法はコマンドの標準入力をパイプの出力につなぎ、子プロセスを使ってそのパイプの入力に << に続く文字列を入力することです。