O problema é que ao expandir ${IP_ROUTE} , o texto é interpretado como um único parâmetro em vez de uma série de parâmetros. Isso deve acontecer se a variável for citada, o que não é o caso, por isso não deveria fazer isso.
Algumas coisas para verificar:
- Conteúdo de
IFS(você pode executar dentro do scriptset | grep -E '^IFS'). Você deve obter algo comoIFS=$' \t\n', que é um valor padrão usual. Observe que o caractere de espaço é listado como separador de campo (a variávelIFScontém exatamente isso). - Você está realmente usando o bash? Verifique se o seu shebang é
#!/bin/bashem vez de apenas#!/bin/shse você estiver usando-o. - Como você está atribuindo o conteúdo à variável
IP_ROUTE?