$MYVAR
no comando
docker exec -i "$MYCONTNAME" /bin/bash -c "source /etc/profile.d/custom.sh; echo $MYVAR"
será expandido antes que /bin/bash -c
seja executado (desde que esteja entre aspas duplas).
Em vez disso, use aspas simples:
docker exec -i "$MYCONTNAME" /bin/bash -c 'source /etc/profile.d/custom.sh; echo $MYVAR'
Alternativamente (não testado),
docker exec -i "$MYCONTNAME" /usr/bin/env BASH_ENV=/etc/profile.d/custom.sh /bin/bash -c 'echo $MYVAR'
Se BASH_ENV
for definido quando um shell não interativo for iniciado (por exemplo, com bash -c
), o arquivo para o qual a variável aponta será originado antes que o shell execute seus comandos.