Respostas:
Embrulhe-o em sh -c:
nohup sh -c 'wget "$0" && wget "$1"' "$url1" "$url2" > /dev/null &
Outros já responderam nohup. Como uma observação prática: eu recomendo fazer esse tipo de coisa em uma screenou tmuxsessão. Dessa forma, você pode desconectar e reconectar mais tarde e ver a saída e o resultado final.
Seria mais simples assim:
nohup sh -c "wget $url && wget $url2" > /dev/null 2>&1 &
No entanto, isso pode causar problemas se os URLs contiverem caracteres especiais, portanto, para uma opção mais segura, você pode usar:
nohup sh -c "wget \"$url\" && wget \"$url2\"" > /dev/null 2>&1 &
sh -cé através de argumentos separados, que podem ser acessados através dos parâmetros de posição ( $0, $1...). Não há uma maneira fácil ou simples de citar argumentos corretamente para análise de string. Sua tentativa de usar aspas duplas escapadas falhará se $urlela própria contiver aspas duplas. Tente a='problem"'; sh -c "echo \"$a\""você mesmo e veja - você deve receber um erro de sintaxe porque sh -ctenta executar echo "problem"".
$urle $url2ser usado.