James Bond (Daniel Craig) wears a white short sleeve Henley shirt in Matera, Italy under his blue Connolly jacket. A Henley is a type of t-shirt with a collarless neck with buttons.
This particular shirt is white or off-white, cotton or linen, and it has two buttons at the henley neck.