I'm running (in a script - trying to avoid using cd):
git --git-dir=/test/.git --work-tree=/test/ pull
And getting:
fatal: /usr/lib/git-core/git-pull cannot be used without a working tree.
Note that I've run other commands with exactly this structure that have worked (in particular, add, commit, and pull), so I think it's just a pull problem.
A similar problem is documented here: Git pull fails to parse syntax, but it's not quite the same - they get a different error (and they're running on Windows, so who knows... I'm on Ubuntu).