I just noticed that running tcsh as superuser, ~/ was expanded as if I were logged in as root, but when the filename is expanded before execing it uses my own home.