Recovery program only accesible via "adb recovery" but the program closes itself
I don't know for sure if this is your only problem, but I'm posting it as an answer just in case. You seem to be confused about adb commands.

adb shell foo


is a command that tells adb to open a shell on the device, and run the command foo on the device, whatever you say there for foo. Therefore, the command you've been running,

adb shell recovery


doesn't tell the device to go into recovery mode: it tells the device to run a command named recovery, while Android's still running. From your description, it sounds like this is the same program that the recovery mode uses, but it's not intended to be run while Android is running. It's writing to the screen directly, without going through Android, which is why it keeps disappearing and can't accept input. It's actually pretty sloppy work on the part of the manufacturer that you can run this program at all from within Android.

In the same way, the command you want to use to reboot into the bootloader is

adb reboot-bootloader


(On newer adb versions you can replace the hyphen with a space if you like.) There's no shell in the command, because this is an instruction to adb, not a command to run on the device.