It's a lowercase '-c'. Uppercase '-C' sets `noclobber`:
$ tcsh
% sh -C <<EOF
? echo first > temp.txt
? echo second > temp.txt
? cat temp.txt
? EOF
sh: line 2: temp.txt: cannot overwrite existing file
first
EDIT: Also, I would be *extremely* wary of changing the shell used by subprocess, especially if you're using the system python. It's likely to cause things to break in weird ways. For instance, sh allows escaping backquotes inside double quotes, but tcsh doesn't. So something that is set up to backslash-escape dangerous characters before passing them to subprocess is going to have a rough time. This could also be a security problem, albeit only if someone is going after you specifically.
Edited 3 time(s). Last edit at 12/19/2014 11:49AM by Isaac Schwabacher.