Você pode fazê-los funcionar em diferentes distribuições com algum trabalho.
As principais coisas em que os programas dependem são bibliotecas. Essas bibliotecas serão armazenadas em locais diferentes em distribuições diferentes, mas você pode descobrir onde essas bibliotecas estão vinculadas ao comando ldd.
Por exemplo, esta é a saída do ldd quando executado contra /usr/bin/vlc
no Debian
linux-vdso.so.1 (0x00007fff11969000)
libvlc.so.5 => /usr/lib/libvlc.so.5 (0x00007f597eb01000)
libvlccore.so.5 => /usr/lib/libvlccore.so.5 (0x00007f597e819000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f597e5fd000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f597e3f9000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f597e0f5000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f597ddf7000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f597dbe1000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f597d834000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f597d5ee000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f597d3e6000)
/lib64/ld-linux-x86-64.so.2 (0x00007f597ed37000)
Você pode ver que todas as bibliotecas estão em /lib/x86_64-linux-gnu
Enquanto no Arch, as bibliotecas para vlc estão localizadas em /usr/lib
linux-vdso.so.1 (0x00007fff5a1fe000)
libvlc.so.5 => /usr/lib/libvlc.so.5 (0x00007f84fd7c2000)
libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f84fd5a4000)
libdl.so.2 => /usr/lib/libdl.so.2 (0x00007f84fd3a0000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f84fcff5000)
libvlccore.so.7 => /usr/lib/libvlccore.so.7 (0x00007f84fcce1000)
librt.so.1 => /usr/lib/librt.so.1 (0x00007f84fcad9000)
libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007f84fc892000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f84fc58f000)
/lib64/ld-linux-x86-64.so.2 (0x00007f84fd9e0000)
Como você pode ver, os binários estão localizados em locais ligeiramente diferentes, com o próprio binário vlc tendo diferentes dependências. Então, teoricamente, com uma instalação do Arch do VLC, eu poderia executá-lo no Debian, ligando as bibliotecas aos lugares corretos.
Você também pode expandir os locais em que o sistema procura bibliotecas definindo a variável LD_LIBRARY_PATH, como assim -
export LD_LIBRARY_PATH=/usr/local/libs:$LD_LIBRARY_PATH