Here is the script that ultimately worked. I think the bit I was originally missing that prevented it from working remotely was the unset GIT_DIR
#!/bin/sh
cd /path/to/working-copy/ || exit
unset GIT_DIR
git pull repo branch
exec git-update-server-info