A teenage boy has been charged with murder after a vicious stabbing at a shopping centre.