подскажите
1) в каком формате хранить эту программу в памяти (bin или hex). Сейчас она в формате elf/
Ее попросту незачем хранить в памяти (если речь идет об оперативной памяти, разумеется). Тем более если процессор встроенной системы имеет гарвардскую архитектуру, что нередко бывает.
2) Возможно ли подобрать такой формат хранения в памяти, что бы можно было эту программу
переместить простым копирование в нужный адрес.
В общем случае - нет.
3) как передать ей управление? через указатель на функцию или иначе?
Воспользоваться услугами загрузчика ОС, если таковая имеется. Если нет, придется написать его самому (и заодно по ходу написания поднять skill level до нужного для работы со встроенными системами уровня).