It sounds like you might want to make those commits on a branch other than master, and then merge that branch to both master and your second branch:
git checkout working-branch
<do some work>
git commit
git checkout master
git merge working-branch
git checkout second-branch
git merge working-branch
This is much, much better than cherry-picking because it doesn't involve duplicating commits in the history, gets rid of any issues about cherry-picking a commit twice (which you currently must manually avoid)...and is just the way git is designed to work. I don't know what your second branch is, but what I'm describing is essentially the common workflow of periodically merging maintenance and topic branches back into master as well as any other appropriate modified-release or maintenance branches.
I strongly recommend that you adopt a workflow where this is done by merging as I described above, but to answer the question you asked, if you absolutely must work on master and cherry-pick, you might want to write yourself a little script, something like:
#!/bin/bash
# take two arguments:
# 1. other branch to put commits on
# 2. number of commits to cherry-pick from master
if ! git checkout $1; then
exit
fi
git rev-list --reverse -n $2 master |
while read commit; do
if ! git cherry-pick $commit; then
exit
fi
done
Obviously there are ways to make the script more robust, e.g. adding the ability to resume after cherry-picks whose patches don't apply properly, but it's a start.
You can mess around with the way you use git-rev-list to select the commits, of course. You could even pass all but the first argument along to git-rev-list, so that you could do cherries-pick <branch> -n 5 master
or cherries-pick <branch> release_tag..master
or whatever you want. Have a look at its man page!
You can also use git-rebase
as was suggested elsewhere, but because you don't actually want to move master, you'll end up doing something like this:
git branch master-copy master
git rebase --onto <branch> master~5 master
git checkout <branch>
git merge master-copy
git branch -d master-copy