Preheat oven to 350 degrees F (175 degrees C). Grease bottom and sides of a 9x13-inch pan.
Mix 2 cups white sugar, flour, and salt in a mixing bowl.
Combine water, vegetable shortening, margarine, and 3 tablespoons cocoa powder in a saucepan. Bring mixture to a boil over medium heat, stirring frequently. Pour liquid into flour mixture and stir well. Return saucepan to stove and set it aside.
Dissolve baking soda in buttermilk in a large liquid measuring cup and stir in eggs and vanilla extract. Pour egg mixture into cake batter and mix until fully combined. Transfer batter into the prepared pan.
Bake the cake in preheated oven until cake springs back when touched lightly with a finger or a tester comes out clean, 25 to 30 minutes.
While cake is baking, prepare icing using reserved saucepan. Combine confectioners' sugar, 3 tablespoons cocoa powder, butter, milk, vanilla, and pecans in saucepan. Cook and stir over medium heat until hot but not boiling. Pour icing over hot cake immediately after it comes out of the oven. Allow cake to cool completely on a wire rack.