Shinwari's inclusion can only be commented on after Hasnain's performance should he play in this World Cup, since its essentially he took his position. Regarding Rizwan, the only way he shouldve made the team was in place of Sarfraz, in reality there is no way the PCB was going to agree with a backup wicket keeper, especially if your current wicket keeper is the captain. And there was no way to predict that Malik would've failed so badly in this tournament, plus there was the case for Malik being a senior player and the team would be too unbalanced with only Hafeez/Sarfraz being the senior players. plus he can give you a couple overs in between (which he did fairly effectively against Eng)
Im not saying he is a better batsman than Rizwan but just that the rationale for picking Malik made sense at the time.