Don't use an ATM. For one, they cap the amount you can withdraw at about $300, so after that you're SOL. Additionally, $1000 in shillings will be wads and wads of money--they don't have high denominations on par with $100 bills, and you'd have to shove handfuls of bills into a backpack. There's no inconspicuous way to do that!
Go to a bank, any of the bigger looking ones, and use your Visa card to get money from your account. Or, use a traveler's check and cash it at a bank. Or, have someone wire you money. Almost all banks accept them, and you can mail them from post offices, banks, and even WalMarts in the US. It cost about $30 to do it, I think, but it's instanteous and can be held for a few days or a week, I think. They're called MoneyGrams, and they have a hotline for banks that accept them, etc.
Note that for all of those exchanges (except ATM's) you'll need to show your passport.
Cheers,
Sarah