O Wiki do Bash explica isso muito bem. Parafraseando:
- Ler dados para executar
- Processar cotações
- Divida os dados de leitura em comandos
- Analisar operadores especiais
- Executar expansões
- Divida o comando em um nome de comando e argumentos
- Execute o comando