Então, o que você precisa é capturar a saída de um comando e usá-lo em outro. A sintaxe bash $ (..) permitirá que você execute um comando e capture a saída, então você pode usar essa saída em outro comando.
Uma maneira é capturar a saída em uma variável, como:
shortcut=$(lynx -dump -hiddenlinks=listonly lynx_bookmarks.html | grep magnet | sed 's/&.*//' | cut -c 7-)
curl "$shortcut"
Ou você pode usar a saída diretamente:
curl $(lynx -dump -hiddenlinks=listonly lynx_bookmarks.html | grep "magnet" | sed 's/&.*//' | cut -c 7-)
Qual você escolhe depende de sua preferência. Se você precisar usar a saída do comando mais de uma vez, então é uma boa idéia capturar a saída em uma variável e usá-la a partir daí.