GNU Parallel does this excellently. I've been using this structure daily for a long time:
parallel "cd--wd '{} &&' gh'gh repo sync && cd -"sync' ::: ./*/.git/.. Similar test on my own system:
$ parallel --wd '{}' 'pwd' ::: ~/my\ projects/*/.git/.. /home/username/my projects/acard /home/username/my projects/acp01 [125 more]