Is there any way I can run knife bootstrap command with a new cookbook/recipe over a node, such that the older run_list of the node is preserved and the new cookbook/recipe gets appended to the existing run_list?
No, but you can use the other knife node
commands to manipulate the run list and then use knife ssh
to run chef-client.