Well, actually there are two ways.
1. You can do it the TI way. Find the program, make sure it is in ram, load it's name into op1, then
bcall(_executePrgm). This is the easy way, but it's limited by what TI can do.
2. Find the program, and you'll have to do different things based on whether it's in flash or ram.
Flash: find the start of the program in flash, bcall(_insertMem) size - 2 at $9D95, ldir the program without the $BB, $6D to $9D95. When you are done, just bcall(_delMem) the $9D95 for the size you inserted.
Ram: find the start of the program in ram, copy the program 768 bytes at a time by 1) ldir 768 bytes to saveSScreen, 2) bcall(_delMem) the bytes you just copied, 3) bcall(_insertMem) 768 bytes at $9D95, 4) ldir the bytes there, 5) repeat. When you are done, just do this but instead copy from $9D95 to the little stub of a program you left earlier. And don't forget, _insertMem and _delMem shift all memory, so you'll have to adjust your pointers while copying.