How do I use drupal_mail() without the $to value?
You do this by putting the string 'undisclosed-recipients:;' (notice the colon and semicolon at the end) is the $to parameter you pass to the drupal_mail function. E.g.:

drupal_mail('mymodule', 'send', 'undisclosed-recipients:;', $language, $params);


You can now add the list of bcc-recipients to the header.