Hi,
I believe I found a bug relating to how parallel determines the parent shell when running under emulated docker containers on mac.
To reproduce this bug, run the following steps on an apple mac using M series arm64 chips using Docker Desktop for Mac (4.27.2).
# important to run emulated
docker run --rm -it --platform linux/amd64 alpine
# install bash and parallel
apk add bash parallel
# start bash shell
bash
# show the default shell
echo $SHELL
/bin/ash
# show the parallel version
parallel --version
GNU parallel 20231122
# define a function
doit() { echo "$@"; }
# export it (bashism)
export -f doit
# run parallel with it
parallel --will-cite doit ::: 1 2
/bin/sh: doit: not found
/bin/sh: doit: not found
# overriding SHELL or PARALLEL_SHELL fixes it:
SHELL=/bin/bash parallel --will-cite doit ::: 1 2
1
2
PARALLEL_SHELL=/bin/bash parallel --will-cite doit ::: 1 2
1
2
The leading /run/rosetta/rosetta is not accounted for in the regexp used to determine the parent shell, so the determination fails and falls back to the default of /bin/sh