Você tem dois problemas aí.
-
/etc/rc.localé executado como root, então você não precisa desudo -
rc.localé um script, estes são sequenciais e cada comando bloqueia a execução. Execute seus comandos em segundo plano adicionando&no final.
Observe também que rc.local usa #!/bin/sh -e , o que significa que sairá de qualquer erro. Se você quiser que o script continue a execução mesmo se um dos comandos falhar, use o tipo de abordagem command arg1 arg2 || true .