The documentation for org-publish says:
(org-publish PROJECT &optional FORCE ASYNC)
Publish PROJECT.
PROJECT is either a project name, as a string, or a project alist (see `org-publish-project-alist' variable).
So I haven't tested this, but (global-set-key (kbd "C-c C-1") 'org-publish "foo") should do the trick.
EDIT: Based on the comments I hope maybe this is closer to a working solution:
(define-key org-mode-map (kbd "C-c C-1") (lambda () (interactive) (org-publish "foo")))
(define-key org-mode-map (kbd "C-c C-1") (lambda () (interactive) (org-publish "foo")))