Respuestas:
Envuélvelo en sh -c:
nohup sh -c 'wget "$0" && wget "$1"' "$url1" "$url2" > /dev/null &
Otros ya han respondido sobre nohup. Como nota al lado práctico: Yo recomiendo hacer este tipo de cosas dentro de una screeno tmuxsesión. De esa manera puede desconectarse, luego volver a conectarse más tarde y ver la salida y el resultado final.
Sería más simple así:
nohup sh -c "wget $url && wget $url2" > /dev/null 2>&1 &
Sin embargo, esto puede causar problemas si las URL contienen caracteres especiales, por lo que para una opción más segura puede usar:
nohup sh -c "wget \"$url\" && wget \"$url2\"" > /dev/null 2>&1 &
sh -ces a través de argumentos separados, que pueden ser accesibles a través de los parámetros posicionales ( $0, $1, ...). No hay una manera fácil o sencilla de citar argumentos correctamente para el análisis de cadenas. Su intento de utilizar comillas dobles escapadas falla si en $urlsí contiene comillas dobles. Pruébelo a='problem"'; sh -c "echo \"$a\""usted mismo y vea: debería obtener un error de sintaxis porque sh -cintenta ejecutarse echo "problem"".
$urly $url2se utilizan.