Les alias ne sont pas hérités. C'est pourquoi ils sont traditionnellement définis dans bashrc et non profile . Sourcez votre script.sh depuis votre .bashrc ou celui à l'échelle du système à la place.
 Si vous voulez qu'ils soient hérités des sous-shells, utilisez plutôt des fonctions. Ceux-ci peuvent être exportés vers l'environnement (export -f ), et les sous-shells auront alors ces fonctions définies.
Donc, pour l'un de vos exemples :
rmvr() { rm -rv "[email protected]"; }
export -f rmvr
 Si vous en avez plusieurs, configurez-les d'abord pour l'exportation :
set -a # export the following funcs
rmvr() { rm -rv "[email protected]"; }
cpvr() { cp -rv "[email protected]"; }
mvrv() { mv -rv "[email protected]"; }
set +a # stop exporting
 
 C'est parce que /etc/profile.d/ est utilisé uniquement par le shell de connexion interactif. Cependant, /etc/bash.bashrc est utilisé par le shell interactif sans connexion.
 Comme je définis habituellement des alias globaux pour le système, j'ai commencé à créer /etc/bashrc.d où je peux déposer un fichier avec des alias globaux :
    HAVE_BASHRC_D=`cat /etc/bash.bashrc | grep -F '/etc/bashrc.d' | wc -l`
    if [ ! -d /etc/bashrc.d ]; then
            mkdir -p /etc/bashrc.d
    fi
    if [ "$HAVE_BASHRC_D" == "0" ]; then
        echo "Setting up bash aliases"
            (cat <<-'EOF'
                                    if [ -d /etc/bashrc.d ]; then
                                      for i in /etc/bashrc.d/*.sh; do
                                        if [ -r $i ]; then
                                          . $i
                                        fi
                                      done
                                      unset i
                                    fi
                            EOF
            ) >> /etc/bash.bashrc
    fi