Obrigado por todos os comentários e ajuda, resumirei a resposta:
O script de configuração é construído a partir de duas partes. A primeira parte é um script que precisa fazer vários tipos de tarefas. A segunda parte é um arquivo rc que contém as variáveis de ambiente e aliases.
Dessa forma, o script do ambiente pode ter lógica e pode anular a configuração se algumas condições não forem atendidas, e o arquivo rc é usado para definir variáveis de ambiente que não são anuladas por /etc/profie ou .bashrc.
O Bash é chamado no modo interativo, e o arquivo rc está obtendo o .bashrc para que os usuários possam manter seus aliases e variáveis de ambiente existentes.
Roteiro principal:
#!/bin/bash
... setup logic ...
# final call to bash for login prompt
exec "/bin/bash --rcfile /path/to/rcfile -i"
O arquivo rc:
# source the user's bashrc
source ~/.bashrc
# environment variables
export PS1="\e[1;33m\u@\h \w> \e[m"
# aliases
...