you can't run( ..but you can load from mc,ud1) prog from a device like MC oder UD1.
When you load from e.g MC, it's loaded into memory AND then it's (also) accessable at your MD-device. (as far as I know)
So in Karel you need at least two programs:
1. program that loads another one from a device
2. and your 'main' program