Drupal Commerce add form to cart page
Use hook_form_alter() on its form ID. The form is built via Views, and I can't recall the ID off the top of my head, but any time I don't know the ID to use I just use a general hook_form_alter() and print out the form ID of every form on the page. You'll find it fast.

Depending on the type of data you're collecting and how you need it stored, it could be that you add a field to the base order type and then populate it based on the value of whatever field you add to the shopping cart form.