Excellent - thank you. Yes, that works. I can now execute sudo halt and sudo reboot using that structure. Just need to run the script at reboot now so the menu is available whenever the system is up.
Tell me... do you know whether it's possible to run compound operations in that lambda function? I'd like the display to show 'Powering down' or some equivalent message when the script calls the halt, or displays 'Rebooting...' when it calls a reboot. I speculative appended "& lcd.write("blah") in the lambda argument and it didn't work - but that was just a syntactical guess!