Letting supply and demand determine prices doesn't necessarily redirect goods from poor people to wealthy people; it redirects goods towards those that actually need them, because those people are willing to pay the higher price. If we're talking about someone living paycheck to paycheck who really can't afford toilet paper being 2x more expensive, they may have to use a substitute, but with price ceilings the shelves will be empty anyway.
When it comes to daily essentials like housing, food, medicine, and toilet paper, everybody needs them - that's why they're called "essential". When you have a good that everyone needs, the market-clearing price becomes a function of ability to pay, not willingness to pay.
Toilet paper isn't an essential (as a lot of us are now finding out). Also nobody really needs to hoard like 50 packages of toilet paper, and if prices were allowed to increase to reflect demand then people would be less incentivized to hoard. The same goes for real essentials like food and medicine: letting prices rise keeps people from hoarding needlessly, and it incentivizes producers to increase supply. I'm not saying we should let people starve, but price ceilings are just going to cause shortages of essentials anyway.